-- special_property
-- create by cheny3
-- 特殊物件使用

return {
    -- 判断
    canTrigger = function(args)
        local classId = args["class_id"];

        if not classId or ItemM.getAmount(ME.user, classId) < 0 then
            return false;
        end

        -- 当前属性、限制百分比
        local percent = args["mp_percent"];
        local cur = ME.user:queryAttrib("mp");
        local max = ME.user:queryAttrib("max_mp");

        -- 如果小于限制百分比魔法，使用
        if percent and cur * 100 > max * percent then
            return false;
        end

        return true;
    end,

    -- 触发
    trigger = function(args)
        local classId = args["class_id"];

        local useChance = args["use_chance"];
        if useChance and math.random(useChance[2]) > useChance[1] then
            -- 概率没发生
            return false;
        end

        local limitCount = args["limit_count"];
        if limitCount and ItemM.getAmount(ME.user, classId) <= limitCount then
            -- 限制了数量,需要大于X个才使用
            return false;
        end

        -- 对自身使用的
        if PropertyM.query(classId, "target") == PROPERTY_SELF then
            return DungeonActionM.go("use_property", 0, classId);
        end

        return false;
    end,
};
